package com.softtown.modules.sys.dto;

import com.softtown.common.validator.group.AddGroup;
import com.softtown.common.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.Null;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 消息更新DTO
 *
 * @author fuming
 * @version v1.0
 * @create 2019-07-10 19:16
 **/
@Data
public class SysMessageUpdateDTO implements Serializable {

    @ApiModelProperty(value = "id")
    @Null(message = "{id.null}", groups = AddGroup.class)
    @NotNull(message = "{id.require}", groups = UpdateGroup.class)
    private Long id;

    @ApiModelProperty(value = "类型")
    @NotNull
    private Integer type;

    @ApiModelProperty(value = "主题")
    @NotNull
    private String title;

    @ApiModelProperty(value = "内容")
    private String content;

    @ApiModelProperty(value = "链接")
    private String linkUrl;

    @ApiModelProperty(value = "发送者id")
    private Long senderId;

    @ApiModelProperty(value = "发送时间")
    private Date sendDate;

    @ApiModelProperty(value = "接收者id")
    private Long receiverId;

    @ApiModelProperty(value = "公司相关id")
    private Long msgCompId;

    @ApiModelProperty(value = "是否已读")
    private Integer isRead;

    @ApiModelProperty(value = "创建者")
    private Long creator;

    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    @ApiModelProperty(value = "更新者")
    private Long updater;

    @ApiModelProperty(value = "更新时间")
    private Date updateDate;

    @ApiModelProperty(value = "更新时间戳")
    private String updateTimestamp;

    @ApiModelProperty(value = "逻辑删除")
    private Integer isDeleted;
}

